package com.software.levelupserver.service;

import com.software.levelupserver.entity.Task;

import java.util.List;

public interface TaskService {

    int insertTask(Task task); //新增任务（包括各种类型的任务）
    boolean updateTask(Task task); //任务更新

    boolean deleteTask(Task task); //任务删除

    List<Task> getAllTodoTasksByUserId(); //查询某个用户所有待办
    List<Task> getAllTasksByDate(String date); //查询指定日期下的所有任务
    List<Task> getTodayTasksByType(String date, int taskType); //查询指定日期下相应类型的任务
    List<Task> getTodayTasks(String date, int pageNum, int pageSize); //查询今日的任务
    List<Task> getNoTimeTask(int pageNum, int pageSize); //查询无开始时间的任务
    List<Task> getTasksByTaskType(String date, int taskType, int pageNum, int pageSize); //根据taskType分页查询任务
    Task getTaskByTaskId(int taskId); //根据taskId查询到指定的task
    List<Task> getAllTasksByStatus(int status); //通过任务状态查询任务
    List<Task> getTasksByPriority(String date, int priority); //通过任务优先级查询任务

    List<Task> selectAllTasks();


    //TODO 获取本日所有任务（不用区分用户）
    int countTasks();
    int countAllTask();
    List<Integer> selectCountByDate();
    List<Task> getTasksByMonthAndStatus(String month);
}
